CMAKE_PREFIX_PATH: '/usr/lib/x86_64-linux-gnu/cmake/Qt6'
SCRIPT: './tools/build_and_test_cmake.sh'
TOOLS: 'clang'
+ - IMAGE: 'noble'
+ CMAKE_PREFIX_PATH: '/usr/lib/x86_64-linux-gnu/cmake/Qt6'
+ SCRIPT: './tools/build_and_test_cmake.sh'
+ - IMAGE: 'noble'
+ CMAKE_PREFIX_PATH: '/usr/lib/x86_64-linux-gnu/cmake/Qt6'
+ SCRIPT: './tools/build_and_test_cmake.sh'
+ TOOLS: 'clang'
- IMAGE: 'jammy'
CMAKE_PREFIX_PATH: '/usr/lib/x86_64-linux-gnu/cmake/Qt5'
SCRIPT: './tools/build_extra_tests.sh'
--- /dev/null
+# this file is used to build the image gpsbabel_build_environment used by travis.
+
+FROM ubuntu:noble
+
+LABEL maintainer="https://github.com/tsteven4"
+
+WORKDIR /app
+
+# update environment.
+ARG DEBIAN_FRONTEND=noninteractive
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ apt-utils \
+ && apt-get upgrade -y \
+ && rm -rf /var/lib/apt/lists/*
+
+# install packages needed for gpsbabel build
+# split into multiple commands to limit layer size
+
+# basic build and test tools
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ g++ \
+ make \
+ autoconf \
+ git \
+ valgrind \
+ expat \
+ libxml2-utils \
+ bear \
+ cmake \
+ ninja-build \
+ clazy \
+ clang-tidy \
+ jq \
+ curl \
+ && rm -rf /var/lib/apt/lists/*
+
+# alternative compiler
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ clang \
+ && rm -rf /var/lib/apt/lists/*
+
+# pkgs needed to build document
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ fop \
+ xsltproc \
+ docbook-xml \
+ docbook5-xml \
+ docbook-xsl \
+ docbook-xsl-ns \
+ libavalon-framework-java \
+ jing \
+ && rm -rf /var/lib/apt/lists/*
+
+# pkgs with libraries needed by gpsbabel
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ libusb-1.0-0-dev \
+ pkg-config \
+ libudev-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+# pkgs with qt used by gpsbabel
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ qtbase5-dev \
+ qttools5-dev \
+ qttranslations5-l10n \
+ qtwebengine5-dev \
+ libqt5serialport5-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+# pkgs with qt used by gpsbabel
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ qt6-base-dev \
+ qt6-5compat-dev \
+ qt6-serialport-dev \
+ libx11-xcb-dev \
+ libxkbcommon-dev \
+ qt6-tools-dev \
+ qt6-translations-l10n \
+ qt6-webengine-dev \
+ qt6-wayland \
+ && rm -rf /var/lib/apt/lists/*
+
+# pkgs needed to generate coverage report:
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ gcovr \
+ && rm -rf /var/lib/apt/lists/*
+
+# install environment for locale test
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ locales \
+ && rm -rf /var/lib/apt/lists/* \
+ && sed -i 's/^# *\(en_US ISO-8859-1\)/\1/' /etc/locale.gen \
+ && locale-gen \
+ && locale -a